<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>Genivia - ISAPI_Server.cpp File Reference</title>
<link href="genivia_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="genivia_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td width="175px"><a href="http://www.genivia.com"><img alt="Genivia" src="GeniviaLogo2_trans_noslogan.png"/></a></td>
     <td class="tab_home"><a href="http://www.genivia.com">Home</a></td>
     <td class="tab_home"><a href="http://www.genivia.com/docs.html">Documentation</a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">ISAPI_Server.cpp File Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Mon Feb 22 2016</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.10 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_f3929c311f8dcb24e971139386611406.html">mod_gsoap</a></li><li class="navelem"><a class="el" href="dir_a1ff59bcb9d97ab50614c4d0944a92f3.html">gsoap_win</a></li><li class="navelem"><a class="el" href="dir_72636c4f428028044b5709ae8bf3a1d0.html">isapi</a></li><li class="navelem"><a class="el" href="dir_3f50e7ff7c7fca28c20db51ffc305e31.html">gsoap</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">ISAPI_Server.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;memory&gt;</code><br />
<code>#include &lt;strstream&gt;</code><br />
<code>#include &lt;cassert&gt;</code><br />
<code>#include &quot;<a class="el" href="_i_s_a_p_i___server_8h.html">ISAPI_Server.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="isapistream_8h.html">isapistream.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_i_s_a_p_i___http_context_8h.html">ISAPI_HttpContext.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_i_s_a_p_i___soap_server_factory_8h.html">ISAPI_SoapServerFactory.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ISAPI_Server.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="_i_s_a_p_i___server_8cpp__incl.png" border="0" usemap="#_i_s_a_p_i___server_8cpp" alt=""/></div>
<map name="_i_s_a_p_i___server_8cpp" id="_i_s_a_p_i___server_8cpp">
<area shape="rect" id="node9" href="_i_s_a_p_i___server_8h.html" title="ISAPI_Server.h" alt="" coords="413,83,525,111"/>
<area shape="rect" id="node13" href="isapistream_8h.html" title="isapistream.h" alt="" coords="288,83,388,111"/>
<area shape="rect" id="node18" href="_i_s_a_p_i___http_context_8h.html" title="ISAPI_HttpContext.h" alt="" coords="549,83,693,111"/>
<area shape="rect" id="node35" href="_i_s_a_p_i___soap_server_factory_8h.html" title="ISAPI_SoapServerFactory.h" alt="" coords="718,83,905,111"/>
<area shape="rect" id="node23" href="_http_context_8h.html" title="HttpContext.h" alt="" coords="570,161,672,189"/>
<area shape="rect" id="node27" href="opsysadjust_8h.html" title="opsysadjust.h" alt="" coords="369,238,471,266"/>
<area shape="rect" id="node33" href="casecmpless_8h.html" title="casecmpless.h" alt="" coords="567,238,676,266"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soap_transaction.html">SoapTransaction</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab49a0e60cb80c5bdf47e79320d4f98ec"><td class="memItemLeft" align="right" valign="top">static string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#ab49a0e60cb80c5bdf47e79320d4f98ec">MakeDllName</a> (EXTENSION_CONTROL_BLOCK *pECB, const char *pszDllName)</td></tr>
<tr class="memdesc:ab49a0e60cb80c5bdf47e79320d4f98ec"><td class="mdescLeft">&#160;</td><td class="mdescRight"><blockquote class="doxtable">
<p>helper function to build full path to dll. </p>
</blockquote>
 <a href="#ab49a0e60cb80c5bdf47e79320d4f98ec">More...</a><br /></td></tr>
<tr class="separator:ab49a0e60cb80c5bdf47e79320d4f98ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84e1f4364447614c07e21499d317180c"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a84e1f4364447614c07e21499d317180c">mod_gsoap_plugin_copy</a> (struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src)</td></tr>
<tr class="separator:a84e1f4364447614c07e21499d317180c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ef19535ea738dff496e8c1ab5e8dd1a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a1ef19535ea738dff496e8c1ab5e8dd1a">mod_gsoap_delete</a> (struct soap *soap, struct soap_plugin *p)</td></tr>
<tr class="separator:a1ef19535ea738dff496e8c1ab5e8dd1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a782ef475be7f4f84f28f12b8a8eba74b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a782ef475be7f4f84f28f12b8a8eba74b">mod_gsoap_plugin</a> (struct soap *soap, struct soap_plugin *p, void *arg)</td></tr>
<tr class="separator:a782ef475be7f4f84f28f12b8a8eba74b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a006f3d3dbc752514c40c5b6738e26804"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a006f3d3dbc752514c40c5b6738e26804">http_post_header</a> (soap *soap, const char *key, const char *value)</td></tr>
<tr class="separator:a006f3d3dbc752514c40c5b6738e26804"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9697f93908abd1649f675004e1be0e4b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a9697f93908abd1649f675004e1be0e4b">http_response</a> (soap *soap, int soap_error, size_t count)</td></tr>
<tr class="separator:a9697f93908abd1649f675004e1be0e4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ffb10053cd101d03083771e8fc7973"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a69ffb10053cd101d03083771e8fc7973">fsend</a> (soap *soap, const char *pBuf, size_t len)</td></tr>
<tr class="separator:a69ffb10053cd101d03083771e8fc7973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02a01a53b5d4210ac86d61165136868e"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a02a01a53b5d4210ac86d61165136868e">frecv</a> (soap *soap, char *pBuf, size_t len)</td></tr>
<tr class="separator:a02a01a53b5d4210ac86d61165136868e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35cde619645a84383069ebdc3bd65970"><td class="memItemLeft" align="right" valign="top">static DWORD&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a35cde619645a84383069ebdc3bd65970">serve</a> (const <a class="el" href="classmod__gsoap__interface.html">mod_gsoap_interface</a> *pInterface, <a class="el" href="class_i_s_a_p_i___http_request.html">ISAPI_HttpRequest</a> &amp;req, <a class="el" href="class_http_response.html">HttpResponse</a> res, <a class="el" href="classisapistream.html">isapistream</a> &amp;is)</td></tr>
<tr class="separator:a35cde619645a84383069ebdc3bd65970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83380956076bb530b434a947659460a4"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a83380956076bb530b434a947659460a4">SendErrorMessage</a> (<a class="el" href="classisapistream.html">isapistream</a> &amp;is, const char *pszError)</td></tr>
<tr class="separator:a83380956076bb530b434a947659460a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a24c1f55fbe64eead6e27e445a6d9cbb4"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#a24c1f55fbe64eead6e27e445a6d9cbb4">GSOAP_ID</a> = &quot;mod_gsoap isapi extension 0.0.2&quot;</td></tr>
<tr class="separator:a24c1f55fbe64eead6e27e445a6d9cbb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbe4eb05c0eab7be501956aa7164a48b"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_i_s_a_p_i___server_8cpp.html#afbe4eb05c0eab7be501956aa7164a48b">crlf</a> = &quot;\r\n&quot;</td></tr>
<tr class="separator:afbe4eb05c0eab7be501956aa7164a48b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implementation of the <a class="el" href="class_i_s_a_p_i___server.html">ISAPI_Server</a> class</p>
<dl class="section author"><dt>Author</dt><dd>Christian Aberger Copyright (C) 2001 WebWare (<a href="http://www.webware.at">http://www.webware.at</a>) Load a gosap server dll dynamically (if not already loaded) and serve the request. See <a href="http://www.aberger.at/SOAP">http://www.aberger.at/SOAP</a> for documentation. </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a02a01a53b5d4210ac86d61165136868e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static size_t frecv </td>
          <td>(</td>
          <td class="paramtype">soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pBuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>gsoap function that requests the next piece of data from us </p>

</div>
</div>
<a class="anchor" id="a69ffb10053cd101d03083771e8fc7973"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int fsend </td>
          <td>(</td>
          <td class="paramtype">soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pBuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>gsoap function to append the data to send to our output buffer </p>

</div>
</div>
<a class="anchor" id="a006f3d3dbc752514c40c5b6738e26804"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int http_post_header </td>
          <td>(</td>
          <td class="paramtype">soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Emits HTTP key: val header entries. </p><dl class="section return"><dt>Returns</dt><dd>SOAP_OK, or a gSOAP error code. Built-in gSOAP function: http_post_header.</dd></dl>
<p>IIS handles most of the headers (Connection etc.) itself. The main thing we need to extract is SOAPAction. </p>

</div>
</div>
<a class="anchor" id="a9697f93908abd1649f675004e1be0e4b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int http_response </td>
          <td>(</td>
          <td class="paramtype">soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>soap_error</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>set the http - response code from the soap error message. </p>

</div>
</div>
<a class="anchor" id="ab49a0e60cb80c5bdf47e79320d4f98ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static string MakeDllName </td>
          <td>(</td>
          <td class="paramtype">EXTENSION_CONTROL_BLOCK *&#160;</td>
          <td class="paramname"><em>pECB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pszDllName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><blockquote class="doxtable">
<p>helper function to build full path to dll. </p>
</blockquote>
</p>
<p>Given a dllname make a fully qualified path to the dll in the current isapi directory </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pECB</td><td>the Extension Control Block of the Request </td></tr>
    <tr><td class="paramname">pszDllName</td><td>the unqualified dllname </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1ef19535ea738dff496e8c1ab5e8dd1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void mod_gsoap_delete </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct soap_plugin *&#160;</td>
          <td class="paramname"><em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a782ef475be7f4f84f28f12b8a8eba74b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int mod_gsoap_plugin </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct soap_plugin *&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a84e1f4364447614c07e21499d317180c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int mod_gsoap_plugin_copy </td>
          <td>(</td>
          <td class="paramtype">struct soap *&#160;</td>
          <td class="paramname"><em>soap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct soap_plugin *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct soap_plugin *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a83380956076bb530b434a947659460a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void SendErrorMessage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classisapistream.html">isapistream</a> &amp;&#160;</td>
          <td class="paramname"><em>is</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pszError</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a35cde619645a84383069ebdc3bd65970"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static DWORD serve </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmod__gsoap__interface.html">mod_gsoap_interface</a> *&#160;</td>
          <td class="paramname"><em>pInterface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_i_s_a_p_i___http_request.html">ISAPI_HttpRequest</a> &amp;&#160;</td>
          <td class="paramname"><em>req</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_http_response.html">HttpResponse</a>&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classisapistream.html">isapistream</a> &amp;&#160;</td>
          <td class="paramname"><em>is</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="afbe4eb05c0eab7be501956aa7164a48b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* crlf = &quot;\r\n&quot;</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a24c1f55fbe64eead6e27e445a6d9cbb4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* GSOAP_ID = &quot;mod_gsoap isapi extension 0.0.2&quot;</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<hr class="footer">
<address class="footer">
Copyright (C) 2016, Robert van Engelen, Genivia Inc., All Rights Reserved.
</address>
<address class="footer"><small>
Converted on Mon Feb 22 2016 20:00:39 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.10</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
